#ifndef QTIMEEDITEDITOR_H
#define QTIMEEDITEDITOR_H

#include <QTimeEdit>
#include <QUndoStack>
#include <QDateEdit>
#include <QDateTimeEdit>

class QAbstractProperty;

class QTimeEditEditor : public QTimeEdit
{
    Q_OBJECT
public:
    Q_INVOKABLE QTimeEditEditor(QAbstractProperty* pro,QUndoStack* stack,QWidget *parent = 0);

signals:

protected slots:
    void    value_changed();
    void    property_changed();
protected:
    QAbstractProperty       *m_property;
};

class QDateEditEditor : public QDateEdit
{
    Q_OBJECT
public:
    Q_INVOKABLE QDateEditEditor(QAbstractProperty* pro,QUndoStack* stack,QWidget *parent = 0);

signals:

protected slots:
    void    value_changed();
    void    property_changed();
protected:
    QAbstractProperty       *m_property;
};


class QDateTimeEditEditor : public QDateTimeEdit
{
    Q_OBJECT
public:
    Q_INVOKABLE QDateTimeEditEditor(QAbstractProperty* pro,QUndoStack* stack,QWidget *parent = 0);

signals:

protected slots:
    void    value_changed();
    void    property_changed();
protected:
    QAbstractProperty       *m_property;
};

#endif // QTIMEEDITEDITOR_H
